home *** CD-ROM | disk | FTP | other *** search
/ The Arsenal Files 8 / The Arsenal Files Collection #8 (Arsenal Computer) (1996).ISO / dosutils / fortn611.zip / FORTUNE.DOC < prev    next >
Text File  |  1996-11-30  |  23KB  |  503 lines

  1. FORTUNE.DOC                          1                         Revised: 11-30-96
  2.  
  3. The FORTUNE.EXE program adds some tuning features to the DOS  FOR  command  (FOR
  4. tune, fortune, what the heck).  These features can in some  way  be  applied  to
  5. commands accepting regular DOS wildcards.  Features include:
  6.  
  7.  * Results of command are written to a batch file which you can review before
  8.    you run it.  Lets you subsequently edit it if desired and lets you see
  9.    exactly what commands will happen when you run it.
  10.  * You can also try the commands interactively if they don't require that
  11.    much memory to run.
  12.  * Ability to embed redirection indicators in a command (see next example).
  13.  * Ability to separate the file name and file extension.  For example:
  14.         FORTUNE IN (*.TXT) DO SORT %[ %A %] %1*.SOR
  15.  * Ability to identify individual characters in the the file name and extension.
  16.    For example:
  17.         FORTUNE IN (*.TXT) DO RENAME %A (%1%2%3%4%5%6).*
  18.  * Ability to specify a character other than "%" for the delimiter so you can
  19.    avoid worrying about different syntax in batch command vs command line.
  20.  * Ability to have batch file pause after each command so results can be
  21.    reviewed.
  22.  * Ability to specify incrementation in the file names.  For example:
  23.         FORTUNE IN (*.TXT) /+2 DO COPY %A %1*.%0001
  24.  * Ability to specify multiple statements on one command line.
  25.  * Ability to process children subdirectories (/S option) at same time.  For
  26.    example:
  27.         FORTUNE IN (\*.TXT) /S DO COPY %A D:\BACKUPS
  28.         FORTUNE *.BAT /S DEL %A
  29.  * Ability to exclude up to 10 file specifications from consideration.
  30.  * Ability to do those tough PKZIP commands that you always wanted to do.  Like
  31.    compress all *.FLI files in your subdirectory to a ZIP of the same name as
  32.    the original file:
  33.         FORTUNE *.FLI /DO PKZIP -M %R %e
  34.    Or move all WAV files into ZIP files with the same name as the WAV file
  35.    (separate ZIP for each WAV file):
  36.         FORTUNE *.WAV PKZIP -M %R %R.%E
  37.  * In addition, you can use the command to create a file which contains a
  38.    series of commands including a header and footer section which can be used
  39.    for some batch functions.
  40.  
  41.  
  42. The DOS FOR command:
  43.  
  44. Quite a few DOS users are unaware of the DOS FOR command.  It allows you to do a
  45. single command over a series of files and provides an easy way to use  wildcards
  46. with commands that don't accept them.  For example, if you want to type a number
  47. of files to your screen, you can say something like:
  48.  
  49.         FOR %A IN (*.TXT) DO TYPE %A
  50.  
  51. DOS looks at your IN specification and figures out what file names  are  covered
  52. by that request.  The request can include path information if  desired  and  can
  53. have multiple specification (e.g.  "...IN (*.TXT \BAT\*.DOC)...").
  54.  
  55. FOR then substitutes the file name itself in for whatever variable  you  specify
  56. in the first parameter after "FOR" ("%A"  here).   This  variable  is  a  single
  57. character (A to Z) preceded by a single percent sign (%).  (If FOR is used in  a
  58. batch command, you have to use two percent signs (%%) instead.)
  59.  
  60.  
  61. FORTUNE.DOC                          2                         Revised: 11-30-96
  62.  
  63. FOR then looks at the command following  the  keyword  "DO"  and  executes  that
  64. command.  If it finds the variable name in the command, it substitutes the  name
  65. of the file for that variable.
  66.  
  67. So, in the above example, if you had three *.TXT files--ABLE.TXT, BAKER.TXT, and
  68. CHARLIE.TXT--and you ran the command, it would actually do  three  commands  for
  69. you:
  70.  
  71.         TYPE ABLE.TXT
  72.         TYPE BAKER.TXT
  73.         TYPE CHARLIE.TXT
  74.  
  75. All in all, FOR is a *very* useful command.  There are also some DOS tricks that
  76. you can use to make the command even more useful but, frankly, I  always  forget
  77. the tricks.  (If someone would like to e-mail them to me,  I'll  throw  them  in
  78. here.) In any case, even past the tricks, the FORTUNE command provides even more
  79. features.
  80.  
  81.  
  82. FORTUNE wildcards and special characters:
  83.  
  84. The FORTUNE.EXE program extends the functionality of  the  DOS  FOR  command  by
  85. providing ways of splitting up the parts of the file name and  manipulating  the
  86. parts.  For example, someone in my office had a mess of files  that  had  to  be
  87. renamed as an open parenthesis, followed by the first six characters of the file
  88. name, followed by a close parenthesis.  Not too terrible to handle with my  text
  89. editor but it hadn't occurred to her.  Using FORTUNE, however, it's pretty easy:
  90.  
  91.         FORTUNE IN (*.TXT) DO RENAME %A (%1%2%3%4%5%6).*
  92.  
  93. And then you run the newly-created batch file (DOIT.BAT).
  94.  
  95. Similarly, someone wanted me to rename a mess of files so  they  had  sequential
  96. names.  I  had  to  write  a  program  to  handle  it.   Definitely  beyond  his
  97. capabilities.  Again, using FORTUNE it's pretty easy:
  98.  
  99.         FORTUNE IN *.TXT DO RENAME %A %1*.%0001
  100.  
  101. And again you run the DOIT.BAT file.
  102.  
  103. Within the command (DO command), FORTUNE allows  you  to  include  a  number  of
  104. indicators.  The character which indicates that  it's  a  special  character  is
  105. typically "%" but you can change this with the /VAR=char option in FORTUNE.  All
  106. of the examples here use the default /VAR=% setting.
  107.  
  108. NOTE TO 4DOS USERS:  4DOS automatically translates %x characters even if used on
  109. the command line.  As such, 4DOS users *have* to use a different /VAR=x  setting
  110. to use FORTUNE.  FORTUNE detects that you are running 4DOS and typically changes
  111. the default /VAR=% to /VAR=@.
  112.  
  113.  
  114. FORTUNE.DOC                          3                         Revised: 11-30-96
  115.  
  116. In many cases, the indicators are case sensitive; there's a  difference  between
  117. %p and %P (presuming the default /VAR=% delimiter).   Typically,  the  lowercase
  118. variants are cumulative.  %P gives you just the path whereas %p  throws  in  the
  119. drive information too.
  120.  
  121.      %a         translates into the entire file name (begins with drive,
  122.                 colon, \, path, \, file root, ., file extension).
  123.                 Use %R.%E if you want the filename without the drive/path info
  124.      %D         translates into the drive (not followed by :)
  125.      %d         translates into the drive (followed by :)
  126.      %P         translates into path (not preceded or followed by \)
  127.      %p         translates into path (begins with drive, colon, \, path, \)
  128.      %R         translates into file name root
  129.      %r         translates into file name root (begins with drive, colon, \,
  130.                 path, \)
  131.      %E         translates into file name extension
  132.      %e         translates into file name extension (begins with drive, colon,
  133.                 \, path, \, file name root, .)--same as %a
  134.      %1 to %8   characters 1 to 8 in the file name root
  135.      %X to %Z   characters 1 to 3 in file name extension (case insignificant;
  136.                 %X is the same as %x)
  137.       %*        replaces the character with the standard "*" wildcard
  138.       %?        replaces the character with the standard "?" wildcard
  139.  
  140. Unless preceded by the /VAR=x delimiter, the  standard  DOS  wildcards--"*"  and
  141. "?"--are supported within the file name.  "...DO RENAME %A Q*.Y*" will  actually
  142. generate commands with the letters filled in (if the file  name  is  APPLES.ARE,
  143. the command will be RENAME QPPLES.YRE).
  144.  
  145. If you want to actually write out the commands and  leave  in  the  "*"  or  "?"
  146. characters, precede the characters with "%" or whatever.  For example,  "FORTUNE
  147. (*.001) DO COPY %R.0%* %R.TOP" will generate something  like  "COPY  TN960402.0*
  148. TN960402.TOP" whereas "FORTUNE (*.001) DO COPY %R.0* %R.TOP" will generate "COPY
  149. TN960402.001 TN960402.TOP".
  150.  
  151. All other characters in the command string are passed as given.
  152.  
  153.  
  154. FORTUNE.DOC                          4                         Revised: 11-30-96
  155.  
  156. Using  the  above  characters,  if  you  have  two  files  C:\AUTOEXEC.BAT   and
  157. D:\WAYNE\MYSTUFF.TXT, the various codes above translate as:
  158.  
  159.                 C:\AUTOEXEC.BAT         D:\WAYNE\MYSTUFF.TXT
  160.      %A         C:\AUTOEXEC.BAT         D:\WAYNE\MYSTUFF.TXT
  161.      %D         C                       D
  162.      %d         C:                      D:
  163.      %P         (null)                  WAYNE
  164.      %p         \                       D:\WAYNE\
  165.      %R         AUTOEXEC                MYSTUFF
  166.      %r         C:\AUTOEXEC             D:\WAYNE\MYSTUFF
  167.      %E         BAT                     TXT
  168.      %e         C:\AUTOEXEC.BAT         D:\WAYNE\MYSTUFF.TXT
  169.      %1         A                       M
  170.      %2         U                       Y
  171.      %3         T                       S
  172.      %4         O                       T
  173.      %5         E                       U
  174.      %6         X                       F
  175.      %7         E                       F
  176.      %8         C                       (null)
  177.      %X         B                       T
  178.      %Y         A                       X
  179.      %Z         T                       T
  180.  
  181.  
  182.  
  183. Special translations:
  184.  
  185.      %[         translates into <
  186.      %]         translates into >
  187.      %0nnnn     incrementer field (where "nnnn" is any number of digits;
  188.                 translates into a numeric field which has the same number of
  189.                 digits; the first number will be the value of "nnnn" and
  190.                 subsequent files will be incremented by the value specified in
  191.                 the /+n or /-n parameter (defaults to /+1)
  192.  
  193.  
  194.  
  195. FORTUNE.DOC                          5                         Revised: 11-30-96
  196.  
  197. Using a command file for special cases:
  198.  
  199. In addition, FORTUNE supports some options that might be used outside of a batch
  200. file.  (There are also several uses for this within a batch command but I  won't
  201. go into them here.  Think about it on your own.) For example, let's say you have
  202. an FTP program and you want to log onto the site and upload  all  of  the  *.TXT
  203. files in your subdirectory.  Normally, you'd do this by  typing  something  like
  204. this in response to the expected prompts:
  205.  
  206.         ftp
  207.         ftp.cu.nih.gov           (the name of the ftp site you're logging onto)
  208.         anonymous                (your userid--I know, anonymous logins aren't
  209.                                   trusted for uploads; use your own userid)
  210.         bguthrie@nmaa.org        (your password)
  211.         cd pub
  212.         cd incoming
  213.  
  214. Now, for each of the files you have, you'd have to enter a  command  like  "send
  215. filename", typically followed by a blank line when prompted  for  the  recipient
  216. file name.
  217.  
  218. Finally, after you're all done, you'd typically issue a "quit" command.
  219.  
  220. Thinking about it, you can use redirection in DOS to say "FTP  <  filename",  as
  221. long as the lines in the text file "filename" contain all of the  statements  in
  222. sequence that you need to issue.
  223.  
  224. FORTUNE lets you specify a  command  file  which  contains  a  "header"  section
  225. (commands to be sent beforehand), a "main" section (commands to be sent for each
  226. filename), and a "footer" section (commands to be send afterward).  Each section
  227. is optional and may consist of up to 20 commands.  In our example, your  command
  228. file (we'll call it "FORTUNE.FTP" in this case) might look like this:
  229.  
  230.         /header
  231.         ftp
  232.         ftp.cu.nih.gov
  233.         anonymous
  234.         bguthrie@nmaa.org
  235.         cd pub
  236.         cd incoming
  237.         /main
  238.         send %A
  239.                                              (blank line)
  240.         /footer
  241.         quit
  242.  
  243. The commands within the "main" section  are  repeated  for  each  file  and  can
  244. contain all of the standard FORTUNE features for the command section.
  245.  
  246.  
  247. FORTUNE.DOC                          6                         Revised: 11-30-96
  248.  
  249. The sections can appear in any order.
  250.  
  251. To bring in the command file, specify "/DO @filename" instead of "/DO  command".
  252. So, your command line might be:
  253.  
  254.         FORTUNE IN (*.TXT) DO @FORTUNE.FTP
  255.  
  256. This will create a DOIT.BAT file which, in fact, does not contain batch  command
  257. statements at all.  If this bothers you, specify a different output file name if
  258. you want.  Then, to  process  this  file  in  your  FTP  command,  use  standard
  259. redirection:
  260.  
  261.         FTP < DOIT.BAT
  262.  
  263. Note that using the command file feature  disables  processing  of  the  FORTUNE
  264. parameters which are specific to batch  files.   These  ignore  parameters  are:
  265. /ECHO, /-ECHO, /ABEND, /-ABEND, /P, and /-P.
  266.  
  267. In addition, you can specify a file that contains the filenames  to  process  by
  268. using "/IN @filename".  This feature can be very handy when /-CHECK is specified
  269. and the file itself contains file names on a remote host.  For example, this  is
  270. useful if you're trying to run something like FORTUNE on an ftp  host  over  the
  271. Internet to issue a series of "get" commands on that host.
  272.  
  273. One disadvantage of the /-CHECK parameter is that it will not parse out the file
  274. name at all so only %A-like requests will do any good.
  275.  
  276.  
  277. Specifying parameters:
  278.  
  279. Parameters for this program can be set in the following ways.  The last  setting
  280. encountered always wins:
  281.   - Read from an *.INI file (see BRUCEINI.DOC file),
  282.   - Through the use of an environmental variable (SET FORTUNE=whatever), or
  283.   - From the command line (see "Syntax" below)
  284.  
  285.  
  286.  
  287. FORTUNE.DOC                          7                         Revised: 11-30-96
  288.  
  289. Syntax:
  290.  
  291.     FORTUNE { IN (set) | IN filespec | /IN (set) | /IN filespec | filespec }
  292.       [ /AS filename ] [ /OVERWRITE | /APPEND | /-OVERWRITE | /OVERASK ]
  293.       [ /VAR=char ] [ /DELIM=chars ] [ /+n | /-n ] [ /S ] [ /Xfilespec ] ...
  294.       [ /-ECHO ] [ /-ABEND ] [ /P ] [ /RUN ] [ /-PROMPT ]
  295.       [ /-CHECK ] [ /-WIPE ] [ /MONO ] [ /Iinitfile | /-I ] [ /? ]
  296.       { DO command | /DO command | command }
  297.  
  298. where:
  299.  
  300. "IN (set)" lets you specify the file  names  to  be  processed.   Multiple  file
  301. specifications should be separated by a space or a semicolon.  The "IN"  can  be
  302. preceded by a "/" if desired.  If only one file specification is  provided,  you
  303. can skip the parentheses.  You can specify "%PATH%" (depending on the  value  of
  304. the /DELIM=chars option) if you want.  A  file  specification  is  required  for
  305. FORTUNE.
  306.  
  307. You can specify an input file that contains the file list to process.   This  is
  308. done using "@filename" instead of "set" or "filespec".
  309.  
  310. It's possible to leave off  the  "IN"  (or  its  derivatives)  as  well  as  the
  311. parentheses if your file specification(s) include a "/", "*", or "?"  character.
  312. For example:
  313.  
  314.         FORTUNE *.BAS *.DOC DO TYPE %A
  315.  
  316. "/AS filename" tells the command the name of the batch file to create  with  the
  317. resulting commands.  By default, this file will be called DOIT.BAT and  it  will
  318. be created in your default subdirectory.
  319.  
  320. "/OVERWRITE" says to write over any output file that's already there.
  321.  
  322. "/APPEND" says to add the new records at the  end  of  any  output  file  that's
  323. already there.  Note that FORTUNE uses several DOS labels every time it executes
  324. and concatenation is typically not recommended.
  325.  
  326. "/-OVERWRITE" says to abort if the output file exists already.
  327.  
  328. "/OVERASK" says to prompt if  the  output  file  exists  already;  this  is  the
  329. default.
  330.  
  331. "/VAR=char" indicates the character to use as the special  character  indicator.
  332. This typically defaults to "/VAR=%" under DOS  and  "/VAR=@"  under  4DOS.   The
  333. hassle with this is that if you invoke FORTUNE from a batch file, you'll have to
  334. remember to use %% instead of %.  If you pick another character  (like  /VAR=^),
  335. that's not necessary.
  336.  
  337.  
  338. FORTUNE.DOC                          8                         Revised: 11-30-96
  339.  
  340. "/DELIM=chars" allows you to  indicate  delimiters  to  use  between  statements
  341. within the DO command.  Defaults to "/DELIM=$$".  This  allows  you  to  process
  342. multiple statements in a single FORTUNE command.  For example:
  343.  
  344.         FORTUNE IN *.BAS DO COPY %A \TEMP $$ TYPE \TEMP\%R.%E
  345.  
  346. Note that the number of characters can be any length (including one  character).
  347. Your only consideration is that the characters do not appear  together  in  your
  348. command otherwise.  The characters are case insignificant ("/DELIM=newline"  and
  349. "/DELIM=NEWLine" are the same thing).
  350.  
  351. "/+n" and "/-n" allow you to specify the increment/decrement value  to  be  used
  352. where %0nnnn indicators are used in the command line.  Defaults to "/+1".
  353.  
  354. "/S" processes the children subdirectories as well.  So you could  do  something
  355. like any of the following:
  356.  
  357.         FORTUNE IN (\*.BAS) /S COPY %A LPT1:
  358.         FORTUNE IN (\OLD*.TXT) /S DO DELETE %A
  359.  
  360. The next example is  a  little  bizarre.   Let's  say  you're  using  anti-virus
  361. protection program that maintains a read-only file in each subdirectory with all
  362. of the virus signatures for the files in that subdirectory.  You decide  you  no
  363. longer want to use that program again but you have a zillion of these files  and
  364. they're all read-only.  The following example would search them all  out,  reset
  365. them to not be read-only, and then delete them.
  366.  
  367.         FORTUNE IN (\VIRCK.SIG) /S DO ATTRIB %A -R $$ DEL %a
  368.  
  369. "/Xfilespec" says to exclude certain filespecs from being considered.   You  can
  370. specify up to 10 exclusion parameters but each must have  their  own  /Xfilespec
  371. statement.  For example, you could process all *.BAS files except  D*.BAS  files
  372. by saying "FORTUNE IN (*.BAS) /XD*.BAS DO TYPE %A".
  373.  
  374. "/ECHO" says to turn ECHO ON in the batch file.   This  will  show  the  command
  375. being executed before it executes.  This is initially the default.
  376.  
  377. "/-ECHO" says to turn ECHO OFF in the batch file.
  378.  
  379. "/ABEND" (abnormal end) says to use standard DOS errorlevel trapping to  see  if
  380. there was an error in running the command.  If any non-0 errorlevel condition is
  381. encountered (e.g.  an error has occurred),  the  batch  file  will  branch  out,
  382. skipping the rest of the statements in the batch file and aborting.   Note  that
  383. not all commands return decent errorlevel codes.  COPY, for example, doesn't set
  384. an errorlevel to indicate that the file could not be  found.   "/ABEND"  is  the
  385. initially the default.
  386.  
  387. "/-ABEND" says to skip errorlevel testing.
  388.  
  389. "/P" (or "/PAUSE") says to add a PAUSE statement  after  each  statement  that's
  390. executed.  If you don't like what you see, you can press Ctrl-Break and get  out
  391. of the batch file.
  392.  
  393. "/-P" (or "/-PAUSE") skips the PAUSE statements.  This is typically the default.
  394.  
  395.  
  396. FORTUNE.DOC                          9                         Revised: 11-30-96
  397.  
  398. "/RUN" says to try to run the commands interactively instead of writing out  the
  399. batch file.  This only works for commands that  don't  take  much  memory  (like
  400. RENAME and COPY commands).  The default is initially "/-RUN".
  401.  
  402. "/-RUN" says to write the commands out to the standard batch file.  This is  the
  403. initially the default.
  404.  
  405. "/PROMPT" says that if you're running the commands interactively, ask whether to
  406. process this command.  This is initially the default if "/RUN" is used.
  407.  
  408. "/-PROMPT" says to skip the prompts for each command.  The default is  initially
  409. "/PROMPT".
  410.  
  411. "/CHECK" says that when an "/IN @filename"  is  used,  verify  each  data  sets'
  412. existence.  This is initially the default.
  413.  
  414. "/-CHECK" skips the data set checking.   This  is  useful  when  you're  issuing
  415. something like a series of GET commands using FTP; the data  sets  in  the  "/IN
  416. @filename" may be on a remote host which can't be verified when FORTUNE is  run.
  417. Initially defaults to "/CHECK".
  418.  
  419. "/WIPE"  says  to  kill  the  batch  file  (e.g.   DOIT.BAT)  after   successful
  420. completion.  This produces an annoying error message ("Batch file missing")  but
  421. may be preferable  to  keeping  the  batch  file  around  afterward.   Initially
  422. defaults to "/WIPE".
  423.  
  424. "/-WIPE" says to keep the batch file around after completion.  This  avoids  the
  425. ugly error message but leaves the file in your subdirectory.  Initially defaults
  426. to "/WIPE".
  427.  
  428. "/MONO" (or "/-COLOR") does  not  try  to  override  screen  colors.   Initially
  429. defaults to "/COLOR".
  430.  
  431. "/COLOR" (or "/-MONO") allows screen colors to be overridden.  This is initially
  432. the default.
  433.  
  434. "/Iinitfile" says to read an initialization file with the file name  "initfile".
  435. The file specification *must* contain a period.  Initfiles are described in  the
  436. BRUCEINI.DOC file.  Initially defaults to "/IFORTUNE.INI".
  437.  
  438. "/-I" (or "/INULL") says to skip loading the initialization file.
  439.  
  440. "/?" or "/HELP" or "HELP" shows you the syntax for the command.
  441.  
  442.  
  443. FORTUNE.DOC                          10                        Revised: 11-30-96
  444.  
  445. "DO command" (or "/DO command" or just "command") specifies the command(s) to be
  446. executed.  The slash before "DO" is optional.  A command is required.   Multiple
  447. commands can be specified if they are separated using the  characters  specified
  448. in the /DELIM=chars parameter.  You can also use a command  file  by  using  /DO
  449. @filename; see the previous discussion on "Using  a  command  file  for  special
  450. cases".
  451.  
  452. In most cases, the use of the "DO" (or "/DO") parameter is actually unnecessary.
  453. The routine typically treats all of the following as identical:
  454.  
  455.         FORTUNE IN (*.BAS *.DOC) /DO TYPE %A
  456.         FORTUNE IN (*.BAS *.DOC) TYPE %A
  457.         FORTUNE *.BAS *.DOC TYPE %A
  458.  
  459. However, using the "DO" (or  "/DO")  parameter  adds  an  extra  left  of  error
  460. checking and its use it encouraged.
  461.  
  462.  
  463. Return codes:
  464.  
  465. FORTUNE returns the following ERRORLEVEL codes:
  466.         0 = no problems, files found and batch file created
  467.         1 = no problems, no files met specifications
  468.       250 = operation aborted by pressing Escape
  469.       255 = syntax problems, file not found, or /? requested
  470.  
  471.  
  472. Author:
  473.  
  474. This program was written by Bruce Guthrie of Wayne Software.  It is free for use
  475. and redistribution provided relevant documentation is kept with the program,  no
  476. changes are made to the program or documentation, and it  is  not  bundled  with
  477. commercial programs or charged for separately.  People who need to bundle it  in
  478. for-sale packages must pay a $50 registration fee to  "Wayne  Software"  at  the
  479. following address.
  480.  
  481. Additional information about this and other Wayne Software programs can be found
  482. in the file BRUCE.DOC which should be included in the original  ZIP  file.   The
  483. recent change history for this  and  the  other  programs  is  provided  in  the
  484. HISTORY.ymm file which should be in the same ZIP file where "y" is  replaced  by
  485. the last digit of the year and "mm" is the  two  digit  month  of  the  release;
  486. HISTORY.611 came out in November 1996.  This same naming convention is  used  in
  487. naming the ZIP file (FORTNymm.ZIP) that this program was included in.
  488.  
  489. Comments and suggestions can also be sent to:
  490.  
  491.                 Bruce Guthrie
  492.                 Wayne Software
  493.                 113 Sheffield St.
  494.                 Silver Spring, MD 20910
  495.  
  496.                 fax: (301) 588-8986
  497.                 e-mail: bguthrie@nmaa.org
  498.                 http://hjs.geol.uib.no/guthrie/
  499.  
  500. Please provide an Internet e-mail address on all correspondence.
  501.  
  502. 
  503.